/**
 * @param {String} url 请求地址
 * @param {Object} data 请求数据
 * @param {String} method 请求方法
 * @param {Number} contentType 请求内容类型 1=json  2=form
 * @param {Number} channel 请求平台 1云平台 2供应链
 */

function service(options = {}, loginStatus, ) {
	let baseUrl = "";
	if (!options.channel) options.channel = 1;

	switch (options.channel) {
		case 1:
			baseUrl = "https://cloud.mfarmers.com/dist/interface/public/index.php"; // 云平台
			break;
		case 2:
			baseUrl = "https://scm.mfarmers.com/gyl"; // 供应链
			break;
		case 3:
			baseUrl = "https://cloud.mfarmers.com"; // 园区管理软件
			break;
	}
	options.url = `${baseUrl}${options.url}`;
    var token =  uni.getStorageSync('gylToken');
	console.log('=====', token)
	if (token) {
		options.header = {
			'content-type': options.contentType === 1 ? 'application/x-www-form-urlencoded' : 'application/json',
			'token': `${token || false}`
		};
	} else {
		// 缓存被系统清空
		console.log('缓存丢失');
	}
	return new Promise((resolved, rejected) => {
		options.success = (res) => {
			// 如果请求回来的状态码不是200则执行以下操作
			if (res.data.status == 401) {
				// 非成功状态码弹窗
				uni.showToast({
					icon: 'none',
					duration: 3000,
					title: `登录状态已失效`
				});
				setTimeout(() => {
					uni.reLaunch({
						url: "/pages/user/login"
					});
				}, 2000)
				// 返回错误信息
				rejected(res)
			} else {
				// 请求回来的状态码为200则返回内容
				resolved(res.data)
			}
		};
		options.fail = (err) => {
			console.log('错误信息', err)
			// 请求失败弹窗
			// uni.showToast({
			// 	icon: 'none',
			// 	duration: 3000,
			// 	title: '服务器错误,请稍后再试'
			// });
			rejected(err);
		};
		uni.request(options);
	});
}

export default service;
